Flash memory based solid state drives (SSDs) are increasingly becoming key elements in a storage hierarchy in cloud and data center applications. Conventional error correction codes (ECCs), such as the commonly used Bose-Chaudhuri-Hocquenghem (BCH) codes, have become increasingly inadequate for SSDs as the capacity of flash memory continues to increase and its reliability continues to degrade as more bits are packed into each memory cell (e.g., in case of three-level cells or, in general, multi-level cells).
Therefore, it is highly desirable to deploy much more powerful ECCs, such as low-density parity-check (LDPC) codes, in order to significantly improve the reliability of SSDs.